#ifndef CONFIGDEF_H
#define CONFIGDEF_H
#include <QString> 

// 输入法配置 词库 MySQL 自动造词 候选词
// 类似于.ini
namespace InputMethodConfig {
	struct Data {
        // 双拼方案（默认搜狗）
        QString doublePinyinScheme = "Sogou";
        // 系统JSON词库配置
        QString baseDictPath = "dictionary/dict_files/pinyin_base_dict.json";
        bool baseDictEncrypted = false;  // 系统词库是否加密（默认不加密）
        // 自动造词配置
        bool autoAddWord = true;         // 是否开启自动造词
        int autoAddThreshold = 2;        // 触发自动造词的阈值（连续输入2次未收录词）
        // 候选词配置
        int candidateCount = 5;          // 候选词数量（3-9范围）
        bool fuzzyPinyin = true;         // 是否开启模糊音
        // MySQL用户词库配置（与 config.ini 默认值一致）
        QString mysqlDbName = "sc_input_method";
        QString mysqlHost = "198.162.168.150";
        QString mysqlPassword = "1234";
        int mysqlPort = 3306;
        QString mysqlUser = "scSQL_Linux";
        QString mysqlTable = "user_words";
        bool userWordEncrypt = true;     // 用户词是否加密存储

        // OpenCC config
        QString openccDicPath = "thirdparty/opencc/data/";  
        // BaiduAPI config
        QString baiduApiAppId = ""; // 加密存储的AppID
        QString baiduApiSecretKey = ""; // 加密存储的SecretKey
    };
}

// 通用配置 (语言 自启)
namespace GeneralConfig {
    struct Data {
        QString language = "zh_CN";  // 语言（默认中文）
        bool autoStart = false;      // 是否开机自启
        bool showTrayIcon = true;    // 是否显示托盘图标
    };
}

// 外观配置（皮肤、字体、透明度）
namespace AppearanceConfig {
    struct Data {
        QString skin = "default";    // 皮肤名称（默认默认皮肤）
        int fontSize = 12;           // 字体大小（默认12号）
        int windowTransparency = 90; // 窗口透明度（0-100，默认90）
    };
}

// 快捷键配置（与 config.ini 一致）
namespace ShortcutConfig {
    struct Data {
        QString switchLanguage = "Ctrl+Space";          // 中英文切换
        QString switchSimplifiedTraditional = "Ctrl+Shift+F"; // 简繁切换
        QString showNumpad = "Ctrl+Alt+N";              // 显示数字面板
    };
}

#endif	// CONFIGDEF_H